#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Serverless {
pub vpc_configs: ::std::option::Option<::std::vec::Vec<crate::types::VpcConfig>>,
pub client_authentication: ::std::option::Option<crate::types::ServerlessClientAuthentication>,
pub connectivity_info: ::std::option::Option<crate::types::ServerlessConnectivityInfo>,
}
impl Serverless {
pub fn vpc_configs(&self) -> &[crate::types::VpcConfig] {
self.vpc_configs.as_deref().unwrap_or_default()
}
pub fn client_authentication(&self) -> ::std::option::Option<&crate::types::ServerlessClientAuthentication> {
self.client_authentication.as_ref()
}
pub fn connectivity_info(&self) -> ::std::option::Option<&crate::types::ServerlessConnectivityInfo> {
self.connectivity_info.as_ref()
}
}
impl Serverless {
pub fn builder() -> crate::types::builders::ServerlessBuilder {
crate::types::builders::ServerlessBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ServerlessBuilder {
pub(crate) vpc_configs: ::std::option::Option<::std::vec::Vec<crate::types::VpcConfig>>,
pub(crate) client_authentication: ::std::option::Option<crate::types::ServerlessClientAuthentication>,
pub(crate) connectivity_info: ::std::option::Option<crate::types::ServerlessConnectivityInfo>,
}
impl ServerlessBuilder {
pub fn vpc_configs(mut self, input: crate::types::VpcConfig) -> Self {
let mut v = self.vpc_configs.unwrap_or_default();
v.push(input);
self.vpc_configs = ::std::option::Option::Some(v);
self
}
pub fn set_vpc_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VpcConfig>>) -> Self {
self.vpc_configs = input;
self
}
pub fn get_vpc_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VpcConfig>> {
&self.vpc_configs
}
pub fn client_authentication(mut self, input: crate::types::ServerlessClientAuthentication) -> Self {
self.client_authentication = ::std::option::Option::Some(input);
self
}
pub fn set_client_authentication(mut self, input: ::std::option::Option<crate::types::ServerlessClientAuthentication>) -> Self {
self.client_authentication = input;
self
}
pub fn get_client_authentication(&self) -> &::std::option::Option<crate::types::ServerlessClientAuthentication> {
&self.client_authentication
}
pub fn connectivity_info(mut self, input: crate::types::ServerlessConnectivityInfo) -> Self {
self.connectivity_info = ::std::option::Option::Some(input);
self
}
pub fn set_connectivity_info(mut self, input: ::std::option::Option<crate::types::ServerlessConnectivityInfo>) -> Self {
self.connectivity_info = input;
self
}
pub fn get_connectivity_info(&self) -> &::std::option::Option<crate::types::ServerlessConnectivityInfo> {
&self.connectivity_info
}
pub fn build(self) -> crate::types::Serverless {
crate::types::Serverless {
vpc_configs: self.vpc_configs,
client_authentication: self.client_authentication,
connectivity_info: self.connectivity_info,
}
}
}