stratosphere-0.40.0: library-gen/Stratosphere/ResourceProperties/MediaLiveChannelInputSettings.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html
module Stratosphere.ResourceProperties.MediaLiveChannelInputSettings where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.MediaLiveChannelAudioSelector
import Stratosphere.ResourceProperties.MediaLiveChannelCaptionSelector
import Stratosphere.ResourceProperties.MediaLiveChannelNetworkInputSettings
import Stratosphere.ResourceProperties.MediaLiveChannelVideoSelector
-- | Full data type definition for MediaLiveChannelInputSettings. See
-- 'mediaLiveChannelInputSettings' for a more convenient constructor.
data MediaLiveChannelInputSettings =
MediaLiveChannelInputSettings
{ _mediaLiveChannelInputSettingsAudioSelectors :: Maybe [MediaLiveChannelAudioSelector]
, _mediaLiveChannelInputSettingsCaptionSelectors :: Maybe [MediaLiveChannelCaptionSelector]
, _mediaLiveChannelInputSettingsDeblockFilter :: Maybe (Val Text)
, _mediaLiveChannelInputSettingsDenoiseFilter :: Maybe (Val Text)
, _mediaLiveChannelInputSettingsFilterStrength :: Maybe (Val Integer)
, _mediaLiveChannelInputSettingsInputFilter :: Maybe (Val Text)
, _mediaLiveChannelInputSettingsNetworkInputSettings :: Maybe MediaLiveChannelNetworkInputSettings
, _mediaLiveChannelInputSettingsSourceEndBehavior :: Maybe (Val Text)
, _mediaLiveChannelInputSettingsVideoSelector :: Maybe MediaLiveChannelVideoSelector
} deriving (Show, Eq)
instance ToJSON MediaLiveChannelInputSettings where
toJSON MediaLiveChannelInputSettings{..} =
object $
catMaybes
[ fmap (("AudioSelectors",) . toJSON) _mediaLiveChannelInputSettingsAudioSelectors
, fmap (("CaptionSelectors",) . toJSON) _mediaLiveChannelInputSettingsCaptionSelectors
, fmap (("DeblockFilter",) . toJSON) _mediaLiveChannelInputSettingsDeblockFilter
, fmap (("DenoiseFilter",) . toJSON) _mediaLiveChannelInputSettingsDenoiseFilter
, fmap (("FilterStrength",) . toJSON) _mediaLiveChannelInputSettingsFilterStrength
, fmap (("InputFilter",) . toJSON) _mediaLiveChannelInputSettingsInputFilter
, fmap (("NetworkInputSettings",) . toJSON) _mediaLiveChannelInputSettingsNetworkInputSettings
, fmap (("SourceEndBehavior",) . toJSON) _mediaLiveChannelInputSettingsSourceEndBehavior
, fmap (("VideoSelector",) . toJSON) _mediaLiveChannelInputSettingsVideoSelector
]
-- | Constructor for 'MediaLiveChannelInputSettings' containing required
-- fields as arguments.
mediaLiveChannelInputSettings
:: MediaLiveChannelInputSettings
mediaLiveChannelInputSettings =
MediaLiveChannelInputSettings
{ _mediaLiveChannelInputSettingsAudioSelectors = Nothing
, _mediaLiveChannelInputSettingsCaptionSelectors = Nothing
, _mediaLiveChannelInputSettingsDeblockFilter = Nothing
, _mediaLiveChannelInputSettingsDenoiseFilter = Nothing
, _mediaLiveChannelInputSettingsFilterStrength = Nothing
, _mediaLiveChannelInputSettingsInputFilter = Nothing
, _mediaLiveChannelInputSettingsNetworkInputSettings = Nothing
, _mediaLiveChannelInputSettingsSourceEndBehavior = Nothing
, _mediaLiveChannelInputSettingsVideoSelector = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-audioselectors
mlcisAudioSelectors :: Lens' MediaLiveChannelInputSettings (Maybe [MediaLiveChannelAudioSelector])
mlcisAudioSelectors = lens _mediaLiveChannelInputSettingsAudioSelectors (\s a -> s { _mediaLiveChannelInputSettingsAudioSelectors = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-captionselectors
mlcisCaptionSelectors :: Lens' MediaLiveChannelInputSettings (Maybe [MediaLiveChannelCaptionSelector])
mlcisCaptionSelectors = lens _mediaLiveChannelInputSettingsCaptionSelectors (\s a -> s { _mediaLiveChannelInputSettingsCaptionSelectors = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-deblockfilter
mlcisDeblockFilter :: Lens' MediaLiveChannelInputSettings (Maybe (Val Text))
mlcisDeblockFilter = lens _mediaLiveChannelInputSettingsDeblockFilter (\s a -> s { _mediaLiveChannelInputSettingsDeblockFilter = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-denoisefilter
mlcisDenoiseFilter :: Lens' MediaLiveChannelInputSettings (Maybe (Val Text))
mlcisDenoiseFilter = lens _mediaLiveChannelInputSettingsDenoiseFilter (\s a -> s { _mediaLiveChannelInputSettingsDenoiseFilter = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-filterstrength
mlcisFilterStrength :: Lens' MediaLiveChannelInputSettings (Maybe (Val Integer))
mlcisFilterStrength = lens _mediaLiveChannelInputSettingsFilterStrength (\s a -> s { _mediaLiveChannelInputSettingsFilterStrength = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-inputfilter
mlcisInputFilter :: Lens' MediaLiveChannelInputSettings (Maybe (Val Text))
mlcisInputFilter = lens _mediaLiveChannelInputSettingsInputFilter (\s a -> s { _mediaLiveChannelInputSettingsInputFilter = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-networkinputsettings
mlcisNetworkInputSettings :: Lens' MediaLiveChannelInputSettings (Maybe MediaLiveChannelNetworkInputSettings)
mlcisNetworkInputSettings = lens _mediaLiveChannelInputSettingsNetworkInputSettings (\s a -> s { _mediaLiveChannelInputSettingsNetworkInputSettings = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-sourceendbehavior
mlcisSourceEndBehavior :: Lens' MediaLiveChannelInputSettings (Maybe (Val Text))
mlcisSourceEndBehavior = lens _mediaLiveChannelInputSettingsSourceEndBehavior (\s a -> s { _mediaLiveChannelInputSettingsSourceEndBehavior = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-videoselector
mlcisVideoSelector :: Lens' MediaLiveChannelInputSettings (Maybe MediaLiveChannelVideoSelector)
mlcisVideoSelector = lens _mediaLiveChannelInputSettingsVideoSelector (\s a -> s { _mediaLiveChannelInputSettingsVideoSelector = a })