{-# 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.UpdateQueue
(
updateQueue
, UpdateQueue
, uqStatus
, uqDescription
, uqName
, updateQueueResponse
, UpdateQueueResponse
, uqrsQueue
, uqrsResponseStatus
) 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 UpdateQueue = UpdateQueue'
{ _uqStatus :: !(Maybe QueueStatus)
, _uqDescription :: !(Maybe Text)
, _uqName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateQueue
:: Text
-> UpdateQueue
updateQueue pName_ =
UpdateQueue' {_uqStatus = Nothing, _uqDescription = Nothing, _uqName = pName_}
uqStatus :: Lens' UpdateQueue (Maybe QueueStatus)
uqStatus = lens _uqStatus (\ s a -> s{_uqStatus = a})
uqDescription :: Lens' UpdateQueue (Maybe Text)
uqDescription = lens _uqDescription (\ s a -> s{_uqDescription = a})
uqName :: Lens' UpdateQueue Text
uqName = lens _uqName (\ s a -> s{_uqName = a})
instance AWSRequest UpdateQueue where
type Rs UpdateQueue = UpdateQueueResponse
request = putJSON mediaConvert
response
= receiveJSON
(\ s h x ->
UpdateQueueResponse' <$>
(x .?> "queue") <*> (pure (fromEnum s)))
instance Hashable UpdateQueue where
instance NFData UpdateQueue where
instance ToHeaders UpdateQueue where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateQueue where
toJSON UpdateQueue'{..}
= object
(catMaybes
[("status" .=) <$> _uqStatus,
("description" .=) <$> _uqDescription])
instance ToPath UpdateQueue where
toPath UpdateQueue'{..}
= mconcat ["/2017-08-29/queues/", toBS _uqName]
instance ToQuery UpdateQueue where
toQuery = const mempty
data UpdateQueueResponse = UpdateQueueResponse'
{ _uqrsQueue :: !(Maybe Queue)
, _uqrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateQueueResponse
:: Int
-> UpdateQueueResponse
updateQueueResponse pResponseStatus_ =
UpdateQueueResponse'
{_uqrsQueue = Nothing, _uqrsResponseStatus = pResponseStatus_}
uqrsQueue :: Lens' UpdateQueueResponse (Maybe Queue)
uqrsQueue = lens _uqrsQueue (\ s a -> s{_uqrsQueue = a})
uqrsResponseStatus :: Lens' UpdateQueueResponse Int
uqrsResponseStatus = lens _uqrsResponseStatus (\ s a -> s{_uqrsResponseStatus = a})
instance NFData UpdateQueueResponse where