aws-sdk-mediaconnect 1.119.0

AWS SDK for AWS MediaConnect
Documentation
// 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 UpdateRouterOutputInput {
    /// <p>The Amazon Resource Name (ARN) of the router output that you want to update.</p>
    pub arn: ::std::option::Option<::std::string::String>,
    /// <p>The updated name for the router output.</p>
    pub name: ::std::option::Option<::std::string::String>,
    /// <p>The updated configuration settings for the router output. Changing the type of the configuration is not supported.</p>
    pub configuration: ::std::option::Option<crate::types::RouterOutputConfiguration>,
    /// <p>The updated maximum bitrate for the router output.</p>
    pub maximum_bitrate: ::std::option::Option<i64>,
    /// <p>Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region.</p>
    pub routing_scope: ::std::option::Option<crate::types::RoutingScope>,
    /// <p>The updated tier level for the router output.</p>
    pub tier: ::std::option::Option<crate::types::RouterOutputTier>,
    /// <p>The updated maintenance configuration settings for the router output, including any changes to preferred maintenance windows and schedules.</p>
    pub maintenance_configuration: ::std::option::Option<crate::types::MaintenanceConfiguration>,
    /// <p>The updated fabric configuration settings for the router output. You cannot update the fabric configuration while the output has an active route. You must unroute the output before updating the fabric configuration.</p>
    pub fabric_configuration: ::std::option::Option<crate::types::FabricConfiguration>,
}
impl UpdateRouterOutputInput {
    /// <p>The Amazon Resource Name (ARN) of the router output that you want to update.</p>
    pub fn arn(&self) -> ::std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The updated name for the router output.</p>
    pub fn name(&self) -> ::std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The updated configuration settings for the router output. Changing the type of the configuration is not supported.</p>
    pub fn configuration(&self) -> ::std::option::Option<&crate::types::RouterOutputConfiguration> {
        self.configuration.as_ref()
    }
    /// <p>The updated maximum bitrate for the router output.</p>
    pub fn maximum_bitrate(&self) -> ::std::option::Option<i64> {
        self.maximum_bitrate
    }
    /// <p>Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region.</p>
    pub fn routing_scope(&self) -> ::std::option::Option<&crate::types::RoutingScope> {
        self.routing_scope.as_ref()
    }
    /// <p>The updated tier level for the router output.</p>
    pub fn tier(&self) -> ::std::option::Option<&crate::types::RouterOutputTier> {
        self.tier.as_ref()
    }
    /// <p>The updated maintenance configuration settings for the router output, including any changes to preferred maintenance windows and schedules.</p>
    pub fn maintenance_configuration(&self) -> ::std::option::Option<&crate::types::MaintenanceConfiguration> {
        self.maintenance_configuration.as_ref()
    }
    /// <p>The updated fabric configuration settings for the router output. You cannot update the fabric configuration while the output has an active route. You must unroute the output before updating the fabric configuration.</p>
    pub fn fabric_configuration(&self) -> ::std::option::Option<&crate::types::FabricConfiguration> {
        self.fabric_configuration.as_ref()
    }
}
impl UpdateRouterOutputInput {
    /// Creates a new builder-style object to manufacture [`UpdateRouterOutputInput`](crate::operation::update_router_output::UpdateRouterOutputInput).
    pub fn builder() -> crate::operation::update_router_output::builders::UpdateRouterOutputInputBuilder {
        crate::operation::update_router_output::builders::UpdateRouterOutputInputBuilder::default()
    }
}

/// A builder for [`UpdateRouterOutputInput`](crate::operation::update_router_output::UpdateRouterOutputInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateRouterOutputInputBuilder {
    pub(crate) arn: ::std::option::Option<::std::string::String>,
    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) maintenance_configuration: ::std::option::Option<crate::types::MaintenanceConfiguration>,
    pub(crate) fabric_configuration: ::std::option::Option<crate::types::FabricConfiguration>,
}
impl UpdateRouterOutputInputBuilder {
    /// <p>The Amazon Resource Name (ARN) of the router output that you want to update.</p>
    /// This field is required.
    pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the router output that you want to update.</p>
    pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.arn = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the router output that you want to update.</p>
    pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.arn
    }
    /// <p>The updated name for the router output.</p>
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The updated name for the router output.</p>
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.name = input;
        self
    }
    /// <p>The updated name for the router output.</p>
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.name
    }
    /// <p>The updated configuration settings for the router output. Changing the type of the configuration is not supported.</p>
    pub fn configuration(mut self, input: crate::types::RouterOutputConfiguration) -> Self {
        self.configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated configuration settings for the router output. Changing the type of the configuration is not supported.</p>
    pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::RouterOutputConfiguration>) -> Self {
        self.configuration = input;
        self
    }
    /// <p>The updated configuration settings for the router output. Changing the type of the configuration is not supported.</p>
    pub fn get_configuration(&self) -> &::std::option::Option<crate::types::RouterOutputConfiguration> {
        &self.configuration
    }
    /// <p>The updated maximum bitrate for the router output.</p>
    pub fn maximum_bitrate(mut self, input: i64) -> Self {
        self.maximum_bitrate = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated maximum bitrate for the router output.</p>
    pub fn set_maximum_bitrate(mut self, input: ::std::option::Option<i64>) -> Self {
        self.maximum_bitrate = input;
        self
    }
    /// <p>The updated maximum bitrate for the router output.</p>
    pub fn get_maximum_bitrate(&self) -> &::std::option::Option<i64> {
        &self.maximum_bitrate
    }
    /// <p>Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region.</p>
    pub fn routing_scope(mut self, input: crate::types::RoutingScope) -> Self {
        self.routing_scope = ::std::option::Option::Some(input);
        self
    }
    /// <p>Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region.</p>
    pub fn set_routing_scope(mut self, input: ::std::option::Option<crate::types::RoutingScope>) -> Self {
        self.routing_scope = input;
        self
    }
    /// <p>Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region.</p>
    pub fn get_routing_scope(&self) -> &::std::option::Option<crate::types::RoutingScope> {
        &self.routing_scope
    }
    /// <p>The updated tier level for the router output.</p>
    pub fn tier(mut self, input: crate::types::RouterOutputTier) -> Self {
        self.tier = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated tier level for the router output.</p>
    pub fn set_tier(mut self, input: ::std::option::Option<crate::types::RouterOutputTier>) -> Self {
        self.tier = input;
        self
    }
    /// <p>The updated tier level for the router output.</p>
    pub fn get_tier(&self) -> &::std::option::Option<crate::types::RouterOutputTier> {
        &self.tier
    }
    /// <p>The updated maintenance configuration settings for the router output, including any changes to preferred maintenance windows and schedules.</p>
    pub fn maintenance_configuration(mut self, input: crate::types::MaintenanceConfiguration) -> Self {
        self.maintenance_configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated maintenance configuration settings for the router output, including any changes to preferred maintenance windows and schedules.</p>
    pub fn set_maintenance_configuration(mut self, input: ::std::option::Option<crate::types::MaintenanceConfiguration>) -> Self {
        self.maintenance_configuration = input;
        self
    }
    /// <p>The updated maintenance configuration settings for the router output, including any changes to preferred maintenance windows and schedules.</p>
    pub fn get_maintenance_configuration(&self) -> &::std::option::Option<crate::types::MaintenanceConfiguration> {
        &self.maintenance_configuration
    }
    /// <p>The updated fabric configuration settings for the router output. You cannot update the fabric configuration while the output has an active route. You must unroute the output before updating the fabric configuration.</p>
    pub fn fabric_configuration(mut self, input: crate::types::FabricConfiguration) -> Self {
        self.fabric_configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated fabric configuration settings for the router output. You cannot update the fabric configuration while the output has an active route. You must unroute the output before updating the fabric configuration.</p>
    pub fn set_fabric_configuration(mut self, input: ::std::option::Option<crate::types::FabricConfiguration>) -> Self {
        self.fabric_configuration = input;
        self
    }
    /// <p>The updated fabric configuration settings for the router output. You cannot update the fabric configuration while the output has an active route. You must unroute the output before updating the fabric configuration.</p>
    pub fn get_fabric_configuration(&self) -> &::std::option::Option<crate::types::FabricConfiguration> {
        &self.fabric_configuration
    }
    /// Consumes the builder and constructs a [`UpdateRouterOutputInput`](crate::operation::update_router_output::UpdateRouterOutputInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::update_router_output::UpdateRouterOutputInput, ::aws_smithy_types::error::operation::BuildError>
    {
        ::std::result::Result::Ok(crate::operation::update_router_output::UpdateRouterOutputInput {
            arn: self.arn,
            name: self.name,
            configuration: self.configuration,
            maximum_bitrate: self.maximum_bitrate,
            routing_scope: self.routing_scope,
            tier: self.tier,
            maintenance_configuration: self.maintenance_configuration,
            fabric_configuration: self.fabric_configuration,
        })
    }
}