stratosphere-0.40.0: library-gen/Stratosphere/ResourceProperties/MediaLiveChannelAudioSelector.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html
module Stratosphere.ResourceProperties.MediaLiveChannelAudioSelector where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.MediaLiveChannelAudioSelectorSettings
-- | Full data type definition for MediaLiveChannelAudioSelector. See
-- 'mediaLiveChannelAudioSelector' for a more convenient constructor.
data MediaLiveChannelAudioSelector =
MediaLiveChannelAudioSelector
{ _mediaLiveChannelAudioSelectorName :: Maybe (Val Text)
, _mediaLiveChannelAudioSelectorSelectorSettings :: Maybe MediaLiveChannelAudioSelectorSettings
} deriving (Show, Eq)
instance ToJSON MediaLiveChannelAudioSelector where
toJSON MediaLiveChannelAudioSelector{..} =
object $
catMaybes
[ fmap (("Name",) . toJSON) _mediaLiveChannelAudioSelectorName
, fmap (("SelectorSettings",) . toJSON) _mediaLiveChannelAudioSelectorSelectorSettings
]
-- | Constructor for 'MediaLiveChannelAudioSelector' containing required
-- fields as arguments.
mediaLiveChannelAudioSelector
:: MediaLiveChannelAudioSelector
mediaLiveChannelAudioSelector =
MediaLiveChannelAudioSelector
{ _mediaLiveChannelAudioSelectorName = Nothing
, _mediaLiveChannelAudioSelectorSelectorSettings = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html#cfn-medialive-channel-audioselector-name
mlcasName :: Lens' MediaLiveChannelAudioSelector (Maybe (Val Text))
mlcasName = lens _mediaLiveChannelAudioSelectorName (\s a -> s { _mediaLiveChannelAudioSelectorName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html#cfn-medialive-channel-audioselector-selectorsettings
mlcasSelectorSettings :: Lens' MediaLiveChannelAudioSelector (Maybe MediaLiveChannelAudioSelectorSettings)
mlcasSelectorSettings = lens _mediaLiveChannelAudioSelectorSelectorSettings (\s a -> s { _mediaLiveChannelAudioSelectorSelectorSettings = a })