#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct AdapterOverview {
pub adapter_id: ::std::option::Option<::std::string::String>,
pub adapter_name: ::std::option::Option<::std::string::String>,
pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub feature_types: ::std::option::Option<::std::vec::Vec<crate::types::FeatureType>>,
}
impl AdapterOverview {
pub fn adapter_id(&self) -> ::std::option::Option<&str> {
self.adapter_id.as_deref()
}
pub fn adapter_name(&self) -> ::std::option::Option<&str> {
self.adapter_name.as_deref()
}
pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn feature_types(&self) -> &[crate::types::FeatureType] {
self.feature_types.as_deref().unwrap_or_default()
}
}
impl AdapterOverview {
pub fn builder() -> crate::types::builders::AdapterOverviewBuilder {
crate::types::builders::AdapterOverviewBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct AdapterOverviewBuilder {
pub(crate) adapter_id: ::std::option::Option<::std::string::String>,
pub(crate) adapter_name: ::std::option::Option<::std::string::String>,
pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) feature_types: ::std::option::Option<::std::vec::Vec<crate::types::FeatureType>>,
}
impl AdapterOverviewBuilder {
pub fn adapter_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.adapter_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_adapter_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.adapter_id = input;
self
}
pub fn get_adapter_id(&self) -> &::std::option::Option<::std::string::String> {
&self.adapter_id
}
pub fn adapter_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.adapter_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_adapter_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.adapter_name = input;
self
}
pub fn get_adapter_name(&self) -> &::std::option::Option<::std::string::String> {
&self.adapter_name
}
pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.creation_time = ::std::option::Option::Some(input);
self
}
pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.creation_time = input;
self
}
pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.creation_time
}
pub fn feature_types(mut self, input: crate::types::FeatureType) -> Self {
let mut v = self.feature_types.unwrap_or_default();
v.push(input);
self.feature_types = ::std::option::Option::Some(v);
self
}
pub fn set_feature_types(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FeatureType>>) -> Self {
self.feature_types = input;
self
}
pub fn get_feature_types(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FeatureType>> {
&self.feature_types
}
pub fn build(self) -> crate::types::AdapterOverview {
crate::types::AdapterOverview {
adapter_id: self.adapter_id,
adapter_name: self.adapter_name,
creation_time: self.creation_time,
feature_types: self.feature_types,
}
}
}