#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CreateRouterOutputInput {
pub name: ::std::option::Option<::std::string::String>,
pub configuration: ::std::option::Option<crate::types::RouterOutputConfiguration>,
pub maximum_bitrate: ::std::option::Option<i64>,
pub routing_scope: ::std::option::Option<crate::types::RoutingScope>,
pub tier: ::std::option::Option<crate::types::RouterOutputTier>,
pub region_name: ::std::option::Option<::std::string::String>,
pub availability_zone: ::std::option::Option<::std::string::String>,
pub maintenance_configuration: ::std::option::Option<crate::types::MaintenanceConfiguration>,
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub fabric_configuration: ::std::option::Option<crate::types::FabricConfiguration>,
pub client_token: ::std::option::Option<::std::string::String>,
}
impl CreateRouterOutputInput {
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn configuration(&self) -> ::std::option::Option<&crate::types::RouterOutputConfiguration> {
self.configuration.as_ref()
}
pub fn maximum_bitrate(&self) -> ::std::option::Option<i64> {
self.maximum_bitrate
}
pub fn routing_scope(&self) -> ::std::option::Option<&crate::types::RoutingScope> {
self.routing_scope.as_ref()
}
pub fn tier(&self) -> ::std::option::Option<&crate::types::RouterOutputTier> {
self.tier.as_ref()
}
pub fn region_name(&self) -> ::std::option::Option<&str> {
self.region_name.as_deref()
}
pub fn availability_zone(&self) -> ::std::option::Option<&str> {
self.availability_zone.as_deref()
}
pub fn maintenance_configuration(&self) -> ::std::option::Option<&crate::types::MaintenanceConfiguration> {
self.maintenance_configuration.as_ref()
}
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
pub fn fabric_configuration(&self) -> ::std::option::Option<&crate::types::FabricConfiguration> {
self.fabric_configuration.as_ref()
}
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
}
impl CreateRouterOutputInput {
pub fn builder() -> crate::operation::create_router_output::builders::CreateRouterOutputInputBuilder {
crate::operation::create_router_output::builders::CreateRouterOutputInputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateRouterOutputInputBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) configuration: ::std::option::Option<crate::types::RouterOutputConfiguration>,
pub(crate) maximum_bitrate: ::std::option::Option<i64>,
pub(crate) routing_scope: ::std::option::Option<crate::types::RoutingScope>,
pub(crate) tier: ::std::option::Option<crate::types::RouterOutputTier>,
pub(crate) region_name: ::std::option::Option<::std::string::String>,
pub(crate) availability_zone: ::std::option::Option<::std::string::String>,
pub(crate) maintenance_configuration: ::std::option::Option<crate::types::MaintenanceConfiguration>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) fabric_configuration: ::std::option::Option<crate::types::FabricConfiguration>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
}
impl CreateRouterOutputInputBuilder {
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
pub fn configuration(mut self, input: crate::types::RouterOutputConfiguration) -> Self {
self.configuration = ::std::option::Option::Some(input);
self
}
pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::RouterOutputConfiguration>) -> Self {
self.configuration = input;
self
}
pub fn get_configuration(&self) -> &::std::option::Option<crate::types::RouterOutputConfiguration> {
&self.configuration
}
pub fn maximum_bitrate(mut self, input: i64) -> Self {
self.maximum_bitrate = ::std::option::Option::Some(input);
self
}
pub fn set_maximum_bitrate(mut self, input: ::std::option::Option<i64>) -> Self {
self.maximum_bitrate = input;
self
}
pub fn get_maximum_bitrate(&self) -> &::std::option::Option<i64> {
&self.maximum_bitrate
}
pub fn routing_scope(mut self, input: crate::types::RoutingScope) -> Self {
self.routing_scope = ::std::option::Option::Some(input);
self
}
pub fn set_routing_scope(mut self, input: ::std::option::Option<crate::types::RoutingScope>) -> Self {
self.routing_scope = input;
self
}
pub fn get_routing_scope(&self) -> &::std::option::Option<crate::types::RoutingScope> {
&self.routing_scope
}
pub fn tier(mut self, input: crate::types::RouterOutputTier) -> Self {
self.tier = ::std::option::Option::Some(input);
self
}
pub fn set_tier(mut self, input: ::std::option::Option<crate::types::RouterOutputTier>) -> Self {
self.tier = input;
self
}
pub fn get_tier(&self) -> &::std::option::Option<crate::types::RouterOutputTier> {
&self.tier
}
pub fn region_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.region_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_region_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.region_name = input;
self
}
pub fn get_region_name(&self) -> &::std::option::Option<::std::string::String> {
&self.region_name
}
pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.availability_zone = ::std::option::Option::Some(input.into());
self
}
pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.availability_zone = input;
self
}
pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
&self.availability_zone
}
pub fn maintenance_configuration(mut self, input: crate::types::MaintenanceConfiguration) -> Self {
self.maintenance_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_maintenance_configuration(mut self, input: ::std::option::Option<crate::types::MaintenanceConfiguration>) -> Self {
self.maintenance_configuration = input;
self
}
pub fn get_maintenance_configuration(&self) -> &::std::option::Option<crate::types::MaintenanceConfiguration> {
&self.maintenance_configuration
}
pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = ::std::option::Option::Some(hash_map);
self
}
pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.tags = input;
self
}
pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.tags
}
pub fn fabric_configuration(mut self, input: crate::types::FabricConfiguration) -> Self {
self.fabric_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_fabric_configuration(mut self, input: ::std::option::Option<crate::types::FabricConfiguration>) -> Self {
self.fabric_configuration = input;
self
}
pub fn get_fabric_configuration(&self) -> &::std::option::Option<crate::types::FabricConfiguration> {
&self.fabric_configuration
}
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_router_output::CreateRouterOutputInput, ::aws_smithy_types::error::operation::BuildError>
{
::std::result::Result::Ok(crate::operation::create_router_output::CreateRouterOutputInput {
name: self.name,
configuration: self.configuration,
maximum_bitrate: self.maximum_bitrate,
routing_scope: self.routing_scope,
tier: self.tier,
region_name: self.region_name,
availability_zone: self.availability_zone,
maintenance_configuration: self.maintenance_configuration,
tags: self.tags,
fabric_configuration: self.fabric_configuration,
client_token: self.client_token,
})
}
}