packages feed

stratosphere-0.40.0: library-gen/Stratosphere/ResourceProperties/MediaLiveChannelOutputDestinationSettings.hs

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html

module Stratosphere.ResourceProperties.MediaLiveChannelOutputDestinationSettings where

import Stratosphere.ResourceImports


-- | Full data type definition for MediaLiveChannelOutputDestinationSettings.
-- See 'mediaLiveChannelOutputDestinationSettings' for a more convenient
-- constructor.
data MediaLiveChannelOutputDestinationSettings =
  MediaLiveChannelOutputDestinationSettings
  { _mediaLiveChannelOutputDestinationSettingsPasswordParam :: Maybe (Val Text)
  , _mediaLiveChannelOutputDestinationSettingsStreamName :: Maybe (Val Text)
  , _mediaLiveChannelOutputDestinationSettingsUrl :: Maybe (Val Text)
  , _mediaLiveChannelOutputDestinationSettingsUsername :: Maybe (Val Text)
  } deriving (Show, Eq)

instance ToJSON MediaLiveChannelOutputDestinationSettings where
  toJSON MediaLiveChannelOutputDestinationSettings{..} =
    object $
    catMaybes
    [ fmap (("PasswordParam",) . toJSON) _mediaLiveChannelOutputDestinationSettingsPasswordParam
    , fmap (("StreamName",) . toJSON) _mediaLiveChannelOutputDestinationSettingsStreamName
    , fmap (("Url",) . toJSON) _mediaLiveChannelOutputDestinationSettingsUrl
    , fmap (("Username",) . toJSON) _mediaLiveChannelOutputDestinationSettingsUsername
    ]

-- | Constructor for 'MediaLiveChannelOutputDestinationSettings' containing
-- required fields as arguments.
mediaLiveChannelOutputDestinationSettings
  :: MediaLiveChannelOutputDestinationSettings
mediaLiveChannelOutputDestinationSettings  =
  MediaLiveChannelOutputDestinationSettings
  { _mediaLiveChannelOutputDestinationSettingsPasswordParam = Nothing
  , _mediaLiveChannelOutputDestinationSettingsStreamName = Nothing
  , _mediaLiveChannelOutputDestinationSettingsUrl = Nothing
  , _mediaLiveChannelOutputDestinationSettingsUsername = Nothing
  }

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-passwordparam
mlcodsPasswordParam :: Lens' MediaLiveChannelOutputDestinationSettings (Maybe (Val Text))
mlcodsPasswordParam = lens _mediaLiveChannelOutputDestinationSettingsPasswordParam (\s a -> s { _mediaLiveChannelOutputDestinationSettingsPasswordParam = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-streamname
mlcodsStreamName :: Lens' MediaLiveChannelOutputDestinationSettings (Maybe (Val Text))
mlcodsStreamName = lens _mediaLiveChannelOutputDestinationSettingsStreamName (\s a -> s { _mediaLiveChannelOutputDestinationSettingsStreamName = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-url
mlcodsUrl :: Lens' MediaLiveChannelOutputDestinationSettings (Maybe (Val Text))
mlcodsUrl = lens _mediaLiveChannelOutputDestinationSettingsUrl (\s a -> s { _mediaLiveChannelOutputDestinationSettingsUrl = a })

-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-username
mlcodsUsername :: Lens' MediaLiveChannelOutputDestinationSettings (Maybe (Val Text))
mlcodsUsername = lens _mediaLiveChannelOutputDestinationSettingsUsername (\s a -> s { _mediaLiveChannelOutputDestinationSettingsUsername = a })