aws-sdk-mediaconnect 1.109.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>,
}
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()
    }
}
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>,
}
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
    }
    /// 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,
        })
    }
}