{-# 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.MediaConvert.CreateQueue
(
createQueue
, CreateQueue
, cqName
, cqDescription
, createQueueResponse
, CreateQueueResponse
, cqrsQueue
, cqrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MediaConvert.Types
import Network.AWS.MediaConvert.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateQueue = CreateQueue'
{ _cqName :: !(Maybe Text)
, _cqDescription :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createQueue
:: CreateQueue
createQueue = CreateQueue' {_cqName = Nothing, _cqDescription = Nothing}
cqName :: Lens' CreateQueue (Maybe Text)
cqName = lens _cqName (\ s a -> s{_cqName = a})
cqDescription :: Lens' CreateQueue (Maybe Text)
cqDescription = lens _cqDescription (\ s a -> s{_cqDescription = a})
instance AWSRequest CreateQueue where
type Rs CreateQueue = CreateQueueResponse
request = postJSON mediaConvert
response
= receiveJSON
(\ s h x ->
CreateQueueResponse' <$>
(x .?> "queue") <*> (pure (fromEnum s)))
instance Hashable CreateQueue where
instance NFData CreateQueue where
instance ToHeaders CreateQueue where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateQueue where
toJSON CreateQueue'{..}
= object
(catMaybes
[("name" .=) <$> _cqName,
("description" .=) <$> _cqDescription])
instance ToPath CreateQueue where
toPath = const "/2017-08-29/queues"
instance ToQuery CreateQueue where
toQuery = const mempty
data CreateQueueResponse = CreateQueueResponse'
{ _cqrsQueue :: !(Maybe Queue)
, _cqrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createQueueResponse
:: Int
-> CreateQueueResponse
createQueueResponse pResponseStatus_ =
CreateQueueResponse'
{_cqrsQueue = Nothing, _cqrsResponseStatus = pResponseStatus_}
cqrsQueue :: Lens' CreateQueueResponse (Maybe Queue)
cqrsQueue = lens _cqrsQueue (\ s a -> s{_cqrsQueue = a})
cqrsResponseStatus :: Lens' CreateQueueResponse Int
cqrsResponseStatus = lens _cqrsResponseStatus (\ s a -> s{_cqrsResponseStatus = a})
instance NFData CreateQueueResponse where