{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.ElasticTranscoder.CreatePreset
(
createPreset
, CreatePreset
, cpVideo
, cpThumbnails
, cpDescription
, cpAudio
, cpName
, cpContainer
, createPresetResponse
, CreatePresetResponse
, cprsWarning
, cprsPreset
, cprsResponseStatus
) where
import Network.AWS.ElasticTranscoder.Types
import Network.AWS.ElasticTranscoder.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreatePreset = CreatePreset'
{ _cpVideo :: !(Maybe VideoParameters)
, _cpThumbnails :: !(Maybe Thumbnails)
, _cpDescription :: !(Maybe Text)
, _cpAudio :: !(Maybe AudioParameters)
, _cpName :: !Text
, _cpContainer :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createPreset
:: Text
-> Text
-> CreatePreset
createPreset pName_ pContainer_ =
CreatePreset'
{ _cpVideo = Nothing
, _cpThumbnails = Nothing
, _cpDescription = Nothing
, _cpAudio = Nothing
, _cpName = pName_
, _cpContainer = pContainer_
}
cpVideo :: Lens' CreatePreset (Maybe VideoParameters)
cpVideo = lens _cpVideo (\ s a -> s{_cpVideo = a});
cpThumbnails :: Lens' CreatePreset (Maybe Thumbnails)
cpThumbnails = lens _cpThumbnails (\ s a -> s{_cpThumbnails = a});
cpDescription :: Lens' CreatePreset (Maybe Text)
cpDescription = lens _cpDescription (\ s a -> s{_cpDescription = a});
cpAudio :: Lens' CreatePreset (Maybe AudioParameters)
cpAudio = lens _cpAudio (\ s a -> s{_cpAudio = a});
cpName :: Lens' CreatePreset Text
cpName = lens _cpName (\ s a -> s{_cpName = a});
cpContainer :: Lens' CreatePreset Text
cpContainer = lens _cpContainer (\ s a -> s{_cpContainer = a});
instance AWSRequest CreatePreset where
type Rs CreatePreset = CreatePresetResponse
request = postJSON elasticTranscoder
response
= receiveJSON
(\ s h x ->
CreatePresetResponse' <$>
(x .?> "Warning") <*> (x .?> "Preset") <*>
(pure (fromEnum s)))
instance Hashable CreatePreset
instance NFData CreatePreset
instance ToHeaders CreatePreset where
toHeaders = const mempty
instance ToJSON CreatePreset where
toJSON CreatePreset'{..}
= object
(catMaybes
[("Video" .=) <$> _cpVideo,
("Thumbnails" .=) <$> _cpThumbnails,
("Description" .=) <$> _cpDescription,
("Audio" .=) <$> _cpAudio, Just ("Name" .= _cpName),
Just ("Container" .= _cpContainer)])
instance ToPath CreatePreset where
toPath = const "/2012-09-25/presets"
instance ToQuery CreatePreset where
toQuery = const mempty
data CreatePresetResponse = CreatePresetResponse'
{ _cprsWarning :: !(Maybe Text)
, _cprsPreset :: !(Maybe Preset)
, _cprsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createPresetResponse
:: Int
-> CreatePresetResponse
createPresetResponse pResponseStatus_ =
CreatePresetResponse'
{ _cprsWarning = Nothing
, _cprsPreset = Nothing
, _cprsResponseStatus = pResponseStatus_
}
cprsWarning :: Lens' CreatePresetResponse (Maybe Text)
cprsWarning = lens _cprsWarning (\ s a -> s{_cprsWarning = a});
cprsPreset :: Lens' CreatePresetResponse (Maybe Preset)
cprsPreset = lens _cprsPreset (\ s a -> s{_cprsPreset = a});
cprsResponseStatus :: Lens' CreatePresetResponse Int
cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a});
instance NFData CreatePresetResponse