#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct KinesisDataStreamDestination {
pub stream_arn: ::std::option::Option<::std::string::String>,
pub destination_status: ::std::option::Option<crate::types::DestinationStatus>,
pub destination_status_description: ::std::option::Option<::std::string::String>,
pub approximate_creation_date_time_precision: ::std::option::Option<crate::types::ApproximateCreationDateTimePrecision>,
}
impl KinesisDataStreamDestination {
pub fn stream_arn(&self) -> ::std::option::Option<&str> {
self.stream_arn.as_deref()
}
pub fn destination_status(&self) -> ::std::option::Option<&crate::types::DestinationStatus> {
self.destination_status.as_ref()
}
pub fn destination_status_description(&self) -> ::std::option::Option<&str> {
self.destination_status_description.as_deref()
}
pub fn approximate_creation_date_time_precision(&self) -> ::std::option::Option<&crate::types::ApproximateCreationDateTimePrecision> {
self.approximate_creation_date_time_precision.as_ref()
}
}
impl KinesisDataStreamDestination {
pub fn builder() -> crate::types::builders::KinesisDataStreamDestinationBuilder {
crate::types::builders::KinesisDataStreamDestinationBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct KinesisDataStreamDestinationBuilder {
pub(crate) stream_arn: ::std::option::Option<::std::string::String>,
pub(crate) destination_status: ::std::option::Option<crate::types::DestinationStatus>,
pub(crate) destination_status_description: ::std::option::Option<::std::string::String>,
pub(crate) approximate_creation_date_time_precision: ::std::option::Option<crate::types::ApproximateCreationDateTimePrecision>,
}
impl KinesisDataStreamDestinationBuilder {
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
}
pub fn set_stream_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.stream_arn = input;
self
}
pub fn get_stream_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.stream_arn
}
pub fn destination_status(mut self, input: crate::types::DestinationStatus) -> Self {
self.destination_status = ::std::option::Option::Some(input);
self
}
pub fn set_destination_status(mut self, input: ::std::option::Option<crate::types::DestinationStatus>) -> Self {
self.destination_status = input;
self
}
pub fn get_destination_status(&self) -> &::std::option::Option<crate::types::DestinationStatus> {
&self.destination_status
}
pub fn destination_status_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.destination_status_description = ::std::option::Option::Some(input.into());
self
}
pub fn set_destination_status_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.destination_status_description = input;
self
}
pub fn get_destination_status_description(&self) -> &::std::option::Option<::std::string::String> {
&self.destination_status_description
}
pub fn approximate_creation_date_time_precision(mut self, input: crate::types::ApproximateCreationDateTimePrecision) -> Self {
self.approximate_creation_date_time_precision = ::std::option::Option::Some(input);
self
}
pub fn set_approximate_creation_date_time_precision(
mut self,
input: ::std::option::Option<crate::types::ApproximateCreationDateTimePrecision>,
) -> Self {
self.approximate_creation_date_time_precision = input;
self
}
pub fn get_approximate_creation_date_time_precision(&self) -> &::std::option::Option<crate::types::ApproximateCreationDateTimePrecision> {
&self.approximate_creation_date_time_precision
}
pub fn build(self) -> crate::types::KinesisDataStreamDestination {
crate::types::KinesisDataStreamDestination {
stream_arn: self.stream_arn,
destination_status: self.destination_status,
destination_status_description: self.destination_status_description,
approximate_creation_date_time_precision: self.approximate_creation_date_time_precision,
}
}
}