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 UpdateRouterInputInput {
    /// <p>The Amazon Resource Name (ARN) of the router input that you want to update.</p>
    pub arn: ::std::option::Option<::std::string::String>,
    /// <p>The updated name for the router input.</p>
    pub name: ::std::option::Option<::std::string::String>,
    /// <p>The updated configuration settings for the router input. Changing the type of the configuration is not supported.</p>
    pub configuration: ::std::option::Option<crate::types::RouterInputConfiguration>,
    /// <p>The updated maximum bitrate for the router input.</p>
    pub maximum_bitrate: ::std::option::Option<i64>,
    /// <p>Specifies whether the router input can be assigned to outputs in different Regions. REGIONAL (default) - can be assigned only to outputs in the same Region. GLOBAL - can be assigned to outputs in any Region.</p>
    pub routing_scope: ::std::option::Option<crate::types::RoutingScope>,
    /// <p>The updated tier level for the router input.</p>
    pub tier: ::std::option::Option<crate::types::RouterInputTier>,
    /// <p>The updated transit encryption settings for the router input.</p>
    pub transit_encryption: ::std::option::Option<crate::types::RouterInputTransitEncryption>,
    /// <p>The updated maintenance configuration settings for the router input, including any changes to preferred maintenance windows and schedules.</p>
    pub maintenance_configuration: ::std::option::Option<crate::types::MaintenanceConfiguration>,
}
impl UpdateRouterInputInput {
    /// <p>The Amazon Resource Name (ARN) of the router input 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 input.</p>
    pub fn name(&self) -> ::std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The updated configuration settings for the router input. Changing the type of the configuration is not supported.</p>
    pub fn configuration(&self) -> ::std::option::Option<&crate::types::RouterInputConfiguration> {
        self.configuration.as_ref()
    }
    /// <p>The updated maximum bitrate for the router input.</p>
    pub fn maximum_bitrate(&self) -> ::std::option::Option<i64> {
        self.maximum_bitrate
    }
    /// <p>Specifies whether the router input can be assigned to outputs in different Regions. REGIONAL (default) - can be assigned only to outputs in the same Region. GLOBAL - can be assigned to outputs in 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 input.</p>
    pub fn tier(&self) -> ::std::option::Option<&crate::types::RouterInputTier> {
        self.tier.as_ref()
    }
    /// <p>The updated transit encryption settings for the router input.</p>
    pub fn transit_encryption(&self) -> ::std::option::Option<&crate::types::RouterInputTransitEncryption> {
        self.transit_encryption.as_ref()
    }
    /// <p>The updated maintenance configuration settings for the router input, 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 UpdateRouterInputInput {
    /// Creates a new builder-style object to manufacture [`UpdateRouterInputInput`](crate::operation::update_router_input::UpdateRouterInputInput).
    pub fn builder() -> crate::operation::update_router_input::builders::UpdateRouterInputInputBuilder {
        crate::operation::update_router_input::builders::UpdateRouterInputInputBuilder::default()
    }
}

/// A builder for [`UpdateRouterInputInput`](crate::operation::update_router_input::UpdateRouterInputInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateRouterInputInputBuilder {
    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::RouterInputConfiguration>,
    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::RouterInputTier>,
    pub(crate) transit_encryption: ::std::option::Option<crate::types::RouterInputTransitEncryption>,
    pub(crate) maintenance_configuration: ::std::option::Option<crate::types::MaintenanceConfiguration>,
}
impl UpdateRouterInputInputBuilder {
    /// <p>The Amazon Resource Name (ARN) of the router input 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 input 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 input 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 input.</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 input.</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 input.</p>
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.name
    }
    /// <p>The updated configuration settings for the router input. Changing the type of the configuration is not supported.</p>
    pub fn configuration(mut self, input: crate::types::RouterInputConfiguration) -> Self {
        self.configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated configuration settings for the router input. Changing the type of the configuration is not supported.</p>
    pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::RouterInputConfiguration>) -> Self {
        self.configuration = input;
        self
    }
    /// <p>The updated configuration settings for the router input. Changing the type of the configuration is not supported.</p>
    pub fn get_configuration(&self) -> &::std::option::Option<crate::types::RouterInputConfiguration> {
        &self.configuration
    }
    /// <p>The updated maximum bitrate for the router input.</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 input.</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 input.</p>
    pub fn get_maximum_bitrate(&self) -> &::std::option::Option<i64> {
        &self.maximum_bitrate
    }
    /// <p>Specifies whether the router input can be assigned to outputs in different Regions. REGIONAL (default) - can be assigned only to outputs in the same Region. GLOBAL - can be assigned to outputs in 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 input can be assigned to outputs in different Regions. REGIONAL (default) - can be assigned only to outputs in the same Region. GLOBAL - can be assigned to outputs in 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 input can be assigned to outputs in different Regions. REGIONAL (default) - can be assigned only to outputs in the same Region. GLOBAL - can be assigned to outputs in 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 input.</p>
    pub fn tier(mut self, input: crate::types::RouterInputTier) -> Self {
        self.tier = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated tier level for the router input.</p>
    pub fn set_tier(mut self, input: ::std::option::Option<crate::types::RouterInputTier>) -> Self {
        self.tier = input;
        self
    }
    /// <p>The updated tier level for the router input.</p>
    pub fn get_tier(&self) -> &::std::option::Option<crate::types::RouterInputTier> {
        &self.tier
    }
    /// <p>The updated transit encryption settings for the router input.</p>
    pub fn transit_encryption(mut self, input: crate::types::RouterInputTransitEncryption) -> Self {
        self.transit_encryption = ::std::option::Option::Some(input);
        self
    }
    /// <p>The updated transit encryption settings for the router input.</p>
    pub fn set_transit_encryption(mut self, input: ::std::option::Option<crate::types::RouterInputTransitEncryption>) -> Self {
        self.transit_encryption = input;
        self
    }
    /// <p>The updated transit encryption settings for the router input.</p>
    pub fn get_transit_encryption(&self) -> &::std::option::Option<crate::types::RouterInputTransitEncryption> {
        &self.transit_encryption
    }
    /// <p>The updated maintenance configuration settings for the router input, 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 input, 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 input, 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 [`UpdateRouterInputInput`](crate::operation::update_router_input::UpdateRouterInputInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::update_router_input::UpdateRouterInputInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::update_router_input::UpdateRouterInputInput {
            arn: self.arn,
            name: self.name,
            configuration: self.configuration,
            maximum_bitrate: self.maximum_bitrate,
            routing_scope: self.routing_scope,
            tier: self.tier,
            transit_encryption: self.transit_encryption,
            maintenance_configuration: self.maintenance_configuration,
        })
    }
}